package com.youngjun.common.oss.manager;

import java.io.InputStream;
import java.util.Map;

public interface OssManager {

    void putObject(String bucketName, String objectName, String fileName, String contentType);

    void putObject(String bucketName, String objectName, String fileName);

    void putObject(String bucketName, String objectName, InputStream stream, long size, String contentType);

    void putObject(String bucketName, String objectName, InputStream stream, long size, Map<String, String> headerMap);

    void putObject(String bucketName, String objectName, InputStream stream, String contentType);

    String getObjectUrl(String bucketName, String objectName);

    InputStream getObject(String bucketName, String objectName);

    InputStream getObject(String bucketName, String objectName, long offset);

    InputStream getObject(String bucketName, String objectName, long offset, Long length);

    void getObject(String bucketName, String objectName, String fileName);

    void removeObject(String bucketName, String objectName);

    void removeObject(final String bucketName, final Iterable<String> objectNames);
}
